머신러닝_03_클러스터링과 상태화
1. 구조 발견으로서의 클러스터링
비지도학습을 처음 접할 때 가장 헷갈리는 건 "무엇을 맞히는지"가 잘 보이지 않는다는 점이다. 지도학습은 정답 레이블이 있으니 모델의 성능을 직관적으로 이해할 수 있다. 반면 클러스터링은 정답 없이 데이터 자체의 구조를 먼저 찾는다.
따라서 클러스터링의 목적은 예측이라기보다 조직화에 가깝다. 데이터 안에 이미 존재하지만 눈에 바로 드러나지 않는 밀집된 구간, 유사한 패턴, 반복적으로 등장하는 형태를 묶어내는 것이다. 중요한 것은 라벨 이름보다 어떤 샘플들이 왜 함께 묶였는가다.
이 점에서 클러스터링은 단순한 분류의 대체재가 아니다. 분류는 정해진 범주에 샘플을 배정하는 문제고, 클러스터링은 범주 구조 자체를 데이터로부터 추론하는 문제다. 출력보다 데이터의 내부 형상을 먼저 묻는다는 점에서 출발선부터 다르다.
2. 유사성과 거리
클러스터링 알고리즘이 바뀌면 결과도 크게 달라진다. 대부분의 방법이 "무엇을 비슷하다고 볼 것인가"를 서로 다르게 정의하기 때문이다. 다시 말해 군집의 품질은 알고리즘 이름보다 유사성과 거리의 선택에 크게 좌우된다.
가장 흔한 방식은 유클리드 거리처럼 샘플 사이의 기하학적 거리를 계산하는 것이다. 하지만 이 거리 개념은 특성의 스케일, 차원의 수, 이상치 존재 여부에 매우 민감하다. 키와 몸무게처럼 단위가 다른 특성이 함께 들어가면 큰 스케일의 변수가 거리를 사실상 지배해 버릴 수 있다.
그래서 클러스터링에서는 알고리즘 이전에 표현 공간을 먼저 봐야 한다. 어떤 특성을 썼는지, 스케일링을 했는지, 각 축이 실제로 같은 수준의 의미를 가지는지가 군집 결과를 크게 바꾼다. 지도학습에서 특징 설계가 중요하듯, 비지도학습에서는 거리 공간의 설계가 중요하다.
3. K-Means와 DBSCAN
클러스터링을 대표하는 두 방식은 문제를 전혀 다르게 본다. K-Means는 각 군집에 하나의 중심점이 있다고 가정하고, 샘플들을 가장 가까운 중심에 반복적으로 할당한다. 이 방식은 직관적이고 계산도 비교적 단순하지만 군집 수 k를 미리 정해야 하며 구형에 가까운 군집을 상대적으로 잘 찾는다.
문제는 현실의 데이터가 항상 이렇게 예쁘게 모여 있지 않다는 데 있다. 길게 늘어진 분포, 밀도가 다른 분포, 드문 이상치가 섞인 구조에서는 K-Means의 중심 기반 가정이 쉽게 흔들린다. 모든 포인트를 반드시 어떤 군집에 넣어야 한다는 점도 부담이다.
DBSCAN은 여기서 출발점이 다르다. 군집을 중심의 집합으로 보지 않고 충분히 밀집된 점들의 연결 구조로 본다. 반경 eps 안에 일정 수 이상의 이웃이 존재하는 지점을 코어 포인트로 보고, 이 밀도 구조를 따라 군집을 확장한다. 이 덕분에 비구형 군집을 다루기 쉽고, 밀도가 낮은 점은 아예 노이즈로 남길 수 있다.
결국 차이는 단순한 성능 비교가 아니다. K-Means가 "몇 개의 대표 중심이 있는가"를 묻는다면, DBSCAN은 "어디에 실제로 밀집된 구조가 있는가"를 묻는다. 어떤 질문이 더 적절한지는 데이터의 모양이 결정한다.
4. 상태화와 추상화
클러스터링이 분석 맥락에서 자주 다시 호출되는 이유는 연속적인 데이터를 바로 읽기 어려운 경우가 많기 때문이다. 수많은 점과 값의 흐름을 그대로 두면 관측은 가능하지만 해석은 어렵다. 이때 비슷한 패턴을 몇 개의 상태로 묶는 관점이 유용해진다.
상태화는 본질적으로 추상화다. 데이터의 모든 세부 차이를 유지하는 대신, 서로 충분히 유사한 구간이나 샘플을 하나의 해석 단위로 압축한다. 이렇게 하면 연속적인 분포는 "안정 상태", "전이 상태", "이상 상태" 같은 이산적인 서술로 바뀔 수 있다.
물론 여기에는 대가가 따른다. 상태를 만들었다는 것은 차이를 버렸다는 뜻이기도 하다. 군집 수가 너무 적으면 중요한 패턴 차이를 놓치고, 반대로 지나치게 세분화하면 상태라는 이름을 붙일 이유가 사라진다. 상태화는 데이터 압축과 해석 가능성 사이의 절충에 가깝다.
5. 관점으로서의 군집 결과
클러스터링을 처음 배울 때 흔한 오해는 "알고리즘이 숨겨진 진짜 군집을 찾아낸다"는 기대다. 하지만 대부분의 경우 클러스터링 결과는 데이터 자체가 말해준 유일한 정답이라기보다, 표현 방식과 거리 정의, 알고리즘 가정, 하이퍼파라미터 선택이 합쳐져 나온 하나의 관점에 가깝다.
그래서 실루엣 점수 같은 내부 평가 지표를 보더라도 그것이 절대적인 정답 판정기는 아니다. 군집이 해석 가능한지, 문제 맥락에서 실제로 구분 가치가 있는지, 이상치와 경계 사례를 어떻게 다룰지까지 함께 봐야 한다.
최근 흐름도 이 점을 더 분명하게 보여 준다. 클러스터링은 단순히 군집을 만들어 내는 단계에서 끝나지 않고, 결과를 얼마나 설명할 수 있는지까지 같이 묻는 쪽으로 움직이고 있다. 특히 시계열처럼 해석이 중요한 데이터에서는 군집이 왜 그렇게 나뉘었는지, 사람이 그 결과를 다시 다듬을 수 있는지, 밀도 차이가 큰 데이터에서 어떤 변형 알고리즘이 더 맞는지까지 함께 본다. 예전보다 "군집을 만들었다"보다 "이 군집 결과를 믿고 쓸 수 있는가"가 더 중요해진 셈이다.
이 점을 이해하면 클러스터링은 훨씬 현실적인 도구가 된다. 클러스터링은 정답을 주는 기계가 아니라, 데이터의 연속적인 구조를 더 적은 수의 해석 가능한 단위로 바꾸기 위한 방법론이다. 상태화라는 관점도 결국 이 위에서 성립한다.
참고 자료
- Schlegel, T. et al. Towards Explainable Deep Clustering for Time Series Data. 2025-07-28. https://arxiv.org/abs/2507.20840
- Kulkarni, A., Burhanpurwala, M. A Survey of Advancements in DBSCAN Clustering Algorithms for Big Data. 2025. https://ieeexplore.ieee.org/document/10486339/